package br.com.expositor.negocios.fachada.imp;

import java.util.Collection;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import br.com.expositor.negocios.controlador.itemmenu.ControladorItemMenu;
import br.com.expositor.negocios.controlador.usuario.ControladorUsuario;
import br.com.expositor.negocios.entidade.ItemMenu;
import br.com.expositor.negocios.entidade.Usuario;
import br.com.expositor.negocios.entidade.enumeration.PerfilEnum;
import br.com.expositor.negocios.fachada.IFachada;
import br.com.expositor.repositorio.DAO.entidade.itemmenu.FiltroItemMenu;
import br.com.expositor.repositorio.DAO.entidade.usuario.FiltroUsuario;

@Service("fachada")
public class Fachada implements IFachada {

	@Autowired
	private ControladorUsuario controladorUsuario;

	@Autowired
	private ControladorItemMenu controladorItemMenu;

	private Fachada() {

	}

	@Override
	public void alterarItemMenu(ItemMenu itemMenu) {
		this.controladorItemMenu.alterar(itemMenu);
	}

	public void alterarUsuario(Usuario usuario) {
		this.controladorUsuario.alterar(usuario);
	}

	@Override
	public Collection<ItemMenu> consultarItemMenu(FiltroItemMenu filtroItemMenu) {
		return this.controladorItemMenu.consultar(filtroItemMenu);
	}

	@Override
	public Collection<ItemMenu> consultarItensPerfil(PerfilEnum perfil) {
		return this.controladorItemMenu.consultarItensPerfil(perfil);
	}

	public Collection<Usuario> consultarUsuario(FiltroUsuario filtroUsuario) {
		return this.controladorUsuario.consultar(filtroUsuario);
	}

	@Override
	public void inserirItemMenu(ItemMenu itemMenu) {
		this.controladorItemMenu.inserir(itemMenu);
	}

	public void inserirUsuario(Usuario usuario) {
		this.controladorUsuario.inserir(usuario);
	}

	@Override
	public void removerItemMenu(ItemMenu itemMenu) {
		this.controladorItemMenu.remover(itemMenu);
	}

	public void removerUsuario(Usuario usuario) {
		this.controladorUsuario.remover(usuario);
	}

}
